<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Crypt;
use DB;
use Session;
use Cookie;

class LoginController extends Controller
{
    //
    public function login(Request $request)
    {
        $request -> flashOnly('hd_name');

        if($request -> isMethod('POST'))
        {
            // 上面写入cookie
            $isLogin = \Cookie::get('isLogin');
            // 判断是否有cookie值 如果有就直接登录
            if($isLogin)
            {
                $res = DB::table('users') -> where('hd_name', $isLogin) -> first();
                Session::put('master', $res);
                return redirect('Admin/index') -> with(['info' => '登录成功']);
            }
            // 判断验证是否正确
            $code = $request -> input('code');
            if($code != Session::get('code'))
            {
                return back() -> with(['info' => '验证码错误']);
            }
            // 验证邮箱和密码
            $hd_name = $request -> input('hd_name');
            $res = DB::table('users') -> where('hd_name',$hd_name) -> first();
            if(!$res)
            {
                return back() -> with(['info' => '用户名未注册']);
            }

            // 解密用户密码
            $hd_pass = Crypt::decryptString($res -> hd_pass);
            if($request -> input('hd_pass') != $hd_pass)
            {
                return back() -> with(['info' => '用户名或者密码错误']);
            }

            // 判断是否记住我 写一个isLogin变量
            if($request -> has('checkMe'))
            {
                \Cookie::queue('isLogin', $res -> hd_name, 60 * 24 * 7);
            }

            // 记录入 Session
            Session::put('master',$res);
            return redirect('/Admin/index') -> with(['info' => '登录成功']);
        }else
        {
            return view('Admin.login.index', ['title' => '登录']);
        }
    }


    // logout 退出登录方法
    public function logout()
    {
        Session::forget('master');
        return redirect('Admin/login') -> with(['info' => '退出登录成功']);
    }

}
